﻿using System;
using System.Collections.Generic;
using CodeFirstMVC3.Core;
using CodeFirstMVC3.Domain.Model;

namespace CodeFirstMVC3.Domain.Service
{
    public interface IRoleService
    {
        IRole New();

        void Add(IRole entity);

        void Edit(IRole entity);

        void Remove(IRole entity);

        IRole Get(int id);

        IRole Get(Func<IRole, bool> predicate);

        int GetCount(Func<IRole, bool> predicate=null);

        IEnumerable<IRole> GetAll(Func<IRole, bool> predicate=null, int start = 0, int count = ApplicationSettings.PageSize);
    }
}
